You are viewing a wiki page. This post is currently being edited by 1746044708@facebook and therefore locked for editing.
1746044708@facebook's picture

How can I run OSX (desktop not server) in VMWare?

Yes, you can run OSX on VMWare. Yes, VMWare tools installs perfectly.

Now the trick is that according to the Apple licenses you are only allowed to run OSX Server on a virtual machine. So when you create a new OSX virtual machine in VMWare it actually makes sure your are running/installing the server version of the operating system by checking that the file "/System/Library/CoreServices/ServerVersion.plist" exists.

Step 1 - Creating a DMG image with includes the server file

What I did first is make a dmg image of the Snow Leopard installation disc using disk utility.

Then i converted the read only dmg into one i could add the file to using the following command from terminal: hdiutil convert MacOSX_Install_DVD.dmg -format UDRW -o MacOSX_Install_DVD_RW.dmg

After that I mounted the dmg, and created the missing file using the following command from terminal: touch "/Volumes/MacOSX_Install_DVD_RW/System/Library/CoreServices/ServerVersion.plist"

Then ejected the dmg.

Step 2 - Install OSX

Just install from dmg the same way you would install the server version. After installation using either the terminal or Finder, navigate inside the VM and edit the *.vmx file.

Find the line that reads: firmware = "efi"

Change it to read: firmware = "bios"

Step 3 - Install the missing file again

Reboot from the dmg again, and create the missing server file in the hard drive of the virtual machine from terminal: touch "/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist"

Should be it.

Note for Experts

There is another method to be sure VMWare doesn't check the ServerVersion.plist file, which is by replacing the signature files. I would say that this is for experts only, since it involves command lines and openssl. if you don't understand it, don't even try, since it could really damage your computer.

Open terminal and type: sudo bash

Then: cd "/Library/Application Support/VMware Fusion/isoimages" mkdir -p original mv darwin.iso *.sig original perl -n -p -e 's/ServerVersion.plist/SystemVersion.plist/g' < original/darwin.iso > darwin.iso openssl genrsa -out tools-priv.pem 2048 openssl rsa -in tools-priv.pem -pubout -out openssl dgst -sha1 -sign tools-priv.pem < darwin.iso > darwin.iso.sig for A in *.iso ; do openssl dgst -sha1 -sign tools-priv.pem < $A > $A.sig ; done

Hope this helps.